When a new database is required, it can be difficult to predict the amount of memory and processors needed to provide the required performance for its intended application. It can also be difficult to correlate changes to structure and use with their impact on performance. It was known to estimate a requisite amount of memory and processor for a new database based on a comparison to memory and processor in existing databases and the resultant performance. It was also known to adjust the amount of memory and processor for a database over time, based on the measured performance during actual use. However, it is helpful to make a good estimate of the requisite amounts of memory and processor when initially designing a database to provide good performance without the expense of excess memory or processors or the need to upgrade soon afterwards.
McDonald et el. (U.S. Pat. No. 7,062,426) disclose a sizing tool which correlates each operating system to each user type which is correlated to each application and increased by the number of particular user types and the number of applications involved in order to establish the total memory requirements.
McDonald et el. (U.S. Pat. No. 6,963,828) disclose a sizing tool which allocates the optimum number of users to each server farm while also providing an optimized configuration of server farms having a desired availability level and suitable redundancy to fulfill the requirements and needs in a customer's enterprise.
Lee et el. (U.S. Pat. No. 7,047,177) disclose a sizing tool for providing the most suitable configuration for each specialized enterprise of a customer.
Eberhard, et al. (U.S. Pat. No. 6,003,022) estimates the cost of execution related to specific database transactions, including predicting the cost of execution via individual database transactions.